//Copyright (c) Microsoft Corporation.  All rights reserved.

using System;
using System.Collections.Generic;
using System.Text;
using Eas.WebCrawler.Interfaces;
using Eas.WebCrawler.Model.Core;

namespace Eas.WebCrawler.Model.Actions {
    internal interface ActionFactory : Eas.WebCrawler.Model.Core.WorkerComponent {
        ProcessingAction CreateGetRequestAction(BaseProcessingState state, WorkerContext context);
        ProcessingAction CreateTerminalAction(BaseProcessingState state, WorkerContext context);
        ProcessingAction CreateGetResponseAction(BaseProcessingState state, WorkerContext context);
        ProcessingAction CreatePauseAction(BaseProcessingState state, WorkerContext context);
        ProcessingAction CreateInitialAction(BaseProcessingState state, WorkerContext context);
        ProcessingAction CreateStreamReadAction(BaseProcessingState state, WorkerContext context);
        ProcessingAction CreatePendingGetRequestAction(BaseProcessingState state, WorkerContext context);
    }
}
